For many years, various types of internal combustion engines have included an ECM, which controls the engine using electronics and software instead of analog or mechanical methods. In general, the ECM receives from sensors and other circuits a variety of signals indicating, for example, the status, temperature, pressure, speed, etc. of different components of the engine. The ECM uses this information to provide appropriate control signals to, for example, solenoids, exhaust gas recirculating valves, air intake systems, fans, and engine fuel injectors.
The harsh environment of the engine and other conditions may result in component malfunctions, errors, and other failure modes (collectively, “faults”). Some of these faults are constant (e.g., a broken wire), and others are intermittent (e.g., a wire that periodically shorts to ground as a result of engine vibration). When a fault is present at an output of the ECM, such as when the ECM is attempting to drive a channel high, but the output for that channel remains low, the fault can be detected and reported by the ECM. Conventional ECMs, however, do not distinguish between constant faults and intermittent faults. Accordingly, service technicians may spend additional time troubleshooting an engine to determine the source of the fault. This may result in higher operations costs as a consequence of additional down-time and service fees. In some situations, the service technician may erroneously replace an ECM, whereas if the service technician knew the fault was intermittent, then the service technician may have been able to isolate the fault and identify its actual source. Clearly, the situation in which an ECM is replaced when the actual source of the fault is elsewhere on the engine is undesirable.